Certain computing applications may utilize feature matching techniques in order to perform various computer workloads such as object recognition, face recognition, and the like. These feature matching or Nearest Neighbor Search (NNS) applications may use various algorithms including for example, KD (k-dimensional) Tree, Hierarchal K-Means, Locality Sensitive Search (LSS), and the like, for performing the search. Brute force matching may be widely used and may require that the data extracted from the image be matched against an entire database in order to find the best match. Hierarchical matching may require that training be first performed on the database in order to establish a hierarchy based on different known clustering methods. The database can either be arranged according to the hierarchy or an index can be arranged in a hierarchy where the index entries point to a corresponding database entry. The database is arranged in this fashion prior to performing matching. The system may then be allowed to perform the matching based on the hierarchy of considerations. These techniques, however, provide software solutions that may have significant limitations and drawbacks. For example, most known solutions may only work with some form of brute force object matching, which typically cannot run in real-time on large databases (and may therefore prohibit their use in mobile applications). Other known solutions may also require relatively high power, which further limits their use.